<!DOCTYPE html>
<html>
<head>
    
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <script src="https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.js"></script>
    <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js"></script>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/leaflet@1.9.3/dist/leaflet.css"/>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css"/>
    <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css"/>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.2.0/css/all.min.css"/>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css"/>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css"/>
    
            <meta name="viewport" content="width=device-width,
                initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
            <style>
                #map_75a76f8dc6758811654011f0c205d920 {
                    position: relative;
                    width: 100.0%;
                    height: 100.0%;
                    left: 0.0%;
                    top: 0.0%;
                }
                .leaflet-container { font-size: 1rem; }
            </style>

            <style>html, body {
                width: 100%;
                height: 100%;
                margin: 0;
                padding: 0;
            }
            </style>

            <style>#map {
                position:absolute;
                top:0;
                bottom:0;
                right:0;
                left:0;
                }
            </style>

            <script>
                L_NO_TOUCH = false;
                L_DISABLE_3D = false;
            </script>

        
    <script src="https://cdn.jsdelivr.net/gh/python-visualization/folium@main/folium/templates/leaflet_heat.min.js"></script>
</head>
<body>
    
    
            <div class="folium-map" id="map_75a76f8dc6758811654011f0c205d920" ></div>
        
</body>
<script>
    
    
            var map_75a76f8dc6758811654011f0c205d920 = L.map(
                "map_75a76f8dc6758811654011f0c205d920",
                {
                    center: [31.23, 121.47],
                    crs: L.CRS.EPSG3857,
                    ...{
  "zoom": 10,
  "zoomControl": true,
  "preferCanvas": false,
}

                }
            );

            

        
    
            var tile_layer_a7ff106e98d805676640c5d520c396e4 = L.tileLayer(
                "https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png",
                {
  "minZoom": 0,
  "maxZoom": 20,
  "maxNativeZoom": 20,
  "noWrap": false,
  "attribution": "\u0026copy; \u003ca href=\"https://www.openstreetmap.org/copyright\"\u003eOpenStreetMap\u003c/a\u003e contributors \u0026copy; \u003ca href=\"https://carto.com/attributions\"\u003eCARTO\u003c/a\u003e",
  "subdomains": "abcd",
  "detectRetina": false,
  "tms": false,
  "opacity": 1,
}

            );
        
    
            tile_layer_a7ff106e98d805676640c5d520c396e4.addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
            var heat_map_1a4928ef024d8ed3cb59a53abd93786e = L.heatLayer(
                [[31.22, 121.47, 3500.0], [31.23, 121.48, 850.0], [31.19, 121.43, 1200.0], [31.21, 121.42, 950.0], [31.23, 121.46, 800.0], [31.25, 121.39, 1100.0], [31.27, 121.49, 750.0], [31.27, 121.52, 900.0], [31.11, 121.38, 2800.0], [31.4, 121.48, 1800.0], [31.38, 121.26, 1600.0], [30.75, 121.34, 1400.0], [31.0, 121.24, 1500.0], [31.15, 121.12, 1300.0], [30.92, 121.47, 1200.0], [31.62, 121.4, 3000.0]],
                {
  "minOpacity": 0.5,
  "maxZoom": 18,
  "radius": 30,
  "blur": 20,
  "gradient": {
  0.2: "lightgreen",
  0.5: "green",
  0.8: "darkgreen",
},
}
            );
        
    
            heat_map_1a4928ef024d8ed3cb59a53abd93786e.addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
            var circle_marker_5ea2d2743ea376198d2107e8c8224c30 = L.circleMarker(
                [31.22, 121.47],
                {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "green", "fillOpacity": 0.7, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 17.5, "stroke": true, "weight": 3}
            ).addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
        var popup_1b1a0e993d419640c3ca0abe71356e57 = L.popup({
  "maxWidth": "100%",
});

        
            
                var html_32b35925c4c6a5ca8486eba9da3273a7 = $(`<div id="html_32b35925c4c6a5ca8486eba9da3273a7" style="width: 100.0%; height: 100.0%;">浦东新区<br>绿地面积: 3500公顷</div>`)[0];
                popup_1b1a0e993d419640c3ca0abe71356e57.setContent(html_32b35925c4c6a5ca8486eba9da3273a7);
            
        

        circle_marker_5ea2d2743ea376198d2107e8c8224c30.bindPopup(popup_1b1a0e993d419640c3ca0abe71356e57)
        ;

        
    
    
            var circle_marker_e1ba1ff21ecbfc7c36b83f78dbab8b62 = L.circleMarker(
                [31.23, 121.48],
                {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "green", "fillOpacity": 0.7, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 4.25, "stroke": true, "weight": 3}
            ).addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
        var popup_45b2db75be02ebe6fca5036d0aed1ff4 = L.popup({
  "maxWidth": "100%",
});

        
            
                var html_27dd93f8761297b4b4d06c4cad38c146 = $(`<div id="html_27dd93f8761297b4b4d06c4cad38c146" style="width: 100.0%; height: 100.0%;">黄浦区<br>绿地面积: 850公顷</div>`)[0];
                popup_45b2db75be02ebe6fca5036d0aed1ff4.setContent(html_27dd93f8761297b4b4d06c4cad38c146);
            
        

        circle_marker_e1ba1ff21ecbfc7c36b83f78dbab8b62.bindPopup(popup_45b2db75be02ebe6fca5036d0aed1ff4)
        ;

        
    
    
            var circle_marker_7300a3195dff5797fb9d969b1c7d47de = L.circleMarker(
                [31.19, 121.43],
                {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "green", "fillOpacity": 0.7, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 6.0, "stroke": true, "weight": 3}
            ).addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
        var popup_42f0cdedc35921ec9ac35acd630c03e5 = L.popup({
  "maxWidth": "100%",
});

        
            
                var html_8a007ea82e6e36898c9230b5a9531eaf = $(`<div id="html_8a007ea82e6e36898c9230b5a9531eaf" style="width: 100.0%; height: 100.0%;">徐汇区<br>绿地面积: 1200公顷</div>`)[0];
                popup_42f0cdedc35921ec9ac35acd630c03e5.setContent(html_8a007ea82e6e36898c9230b5a9531eaf);
            
        

        circle_marker_7300a3195dff5797fb9d969b1c7d47de.bindPopup(popup_42f0cdedc35921ec9ac35acd630c03e5)
        ;

        
    
    
            var circle_marker_71d32368609d98570c1c905991a1563e = L.circleMarker(
                [31.21, 121.42],
                {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "green", "fillOpacity": 0.7, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 4.75, "stroke": true, "weight": 3}
            ).addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
        var popup_ce0beed0e41c8ecf141f1fe79b41631b = L.popup({
  "maxWidth": "100%",
});

        
            
                var html_6f12811a09cacea6e722e8f1ef8ec380 = $(`<div id="html_6f12811a09cacea6e722e8f1ef8ec380" style="width: 100.0%; height: 100.0%;">长宁区<br>绿地面积: 950公顷</div>`)[0];
                popup_ce0beed0e41c8ecf141f1fe79b41631b.setContent(html_6f12811a09cacea6e722e8f1ef8ec380);
            
        

        circle_marker_71d32368609d98570c1c905991a1563e.bindPopup(popup_ce0beed0e41c8ecf141f1fe79b41631b)
        ;

        
    
    
            var circle_marker_2b64f464bea376b5b1c415b36c85c98e = L.circleMarker(
                [31.23, 121.46],
                {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "green", "fillOpacity": 0.7, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 4.0, "stroke": true, "weight": 3}
            ).addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
        var popup_ba9506dac90d3dca00d4f4bae6e09150 = L.popup({
  "maxWidth": "100%",
});

        
            
                var html_6d76ed36413736de3e9eb421787d74a0 = $(`<div id="html_6d76ed36413736de3e9eb421787d74a0" style="width: 100.0%; height: 100.0%;">静安区<br>绿地面积: 800公顷</div>`)[0];
                popup_ba9506dac90d3dca00d4f4bae6e09150.setContent(html_6d76ed36413736de3e9eb421787d74a0);
            
        

        circle_marker_2b64f464bea376b5b1c415b36c85c98e.bindPopup(popup_ba9506dac90d3dca00d4f4bae6e09150)
        ;

        
    
    
            var circle_marker_778837791c4b87225a52c2e4c9bd9c0c = L.circleMarker(
                [31.25, 121.39],
                {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "green", "fillOpacity": 0.7, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 5.5, "stroke": true, "weight": 3}
            ).addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
        var popup_b66bba1c2e21242c8758d4b95fcf8d3c = L.popup({
  "maxWidth": "100%",
});

        
            
                var html_d083b9051a90d857fb87267ab1c752a1 = $(`<div id="html_d083b9051a90d857fb87267ab1c752a1" style="width: 100.0%; height: 100.0%;">普陀区<br>绿地面积: 1100公顷</div>`)[0];
                popup_b66bba1c2e21242c8758d4b95fcf8d3c.setContent(html_d083b9051a90d857fb87267ab1c752a1);
            
        

        circle_marker_778837791c4b87225a52c2e4c9bd9c0c.bindPopup(popup_b66bba1c2e21242c8758d4b95fcf8d3c)
        ;

        
    
    
            var circle_marker_12818e2e8c6603224d6c91183865b180 = L.circleMarker(
                [31.27, 121.49],
                {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "green", "fillOpacity": 0.7, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 3.75, "stroke": true, "weight": 3}
            ).addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
        var popup_92fce84c091b5f42f37e420d268e43e6 = L.popup({
  "maxWidth": "100%",
});

        
            
                var html_19a45b44e972d1cc2976cb7534b07259 = $(`<div id="html_19a45b44e972d1cc2976cb7534b07259" style="width: 100.0%; height: 100.0%;">虹口区<br>绿地面积: 750公顷</div>`)[0];
                popup_92fce84c091b5f42f37e420d268e43e6.setContent(html_19a45b44e972d1cc2976cb7534b07259);
            
        

        circle_marker_12818e2e8c6603224d6c91183865b180.bindPopup(popup_92fce84c091b5f42f37e420d268e43e6)
        ;

        
    
    
            var circle_marker_8051c1f3c6304b40dbe976bb2e4d66e1 = L.circleMarker(
                [31.27, 121.52],
                {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "green", "fillOpacity": 0.7, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 4.5, "stroke": true, "weight": 3}
            ).addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
        var popup_f7497ffde0d712ba511b0c72db45cd87 = L.popup({
  "maxWidth": "100%",
});

        
            
                var html_d3f14dbf322d8ea096f00c5b2bcebf8c = $(`<div id="html_d3f14dbf322d8ea096f00c5b2bcebf8c" style="width: 100.0%; height: 100.0%;">杨浦区<br>绿地面积: 900公顷</div>`)[0];
                popup_f7497ffde0d712ba511b0c72db45cd87.setContent(html_d3f14dbf322d8ea096f00c5b2bcebf8c);
            
        

        circle_marker_8051c1f3c6304b40dbe976bb2e4d66e1.bindPopup(popup_f7497ffde0d712ba511b0c72db45cd87)
        ;

        
    
    
            var circle_marker_634f60f57b80cc6b159efeb6a0a4855c = L.circleMarker(
                [31.11, 121.38],
                {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "green", "fillOpacity": 0.7, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 14.0, "stroke": true, "weight": 3}
            ).addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
        var popup_35ebb7ce8b9dc03255315a68cf1cee3e = L.popup({
  "maxWidth": "100%",
});

        
            
                var html_11f996f1381dde9df496961d3b76a5e1 = $(`<div id="html_11f996f1381dde9df496961d3b76a5e1" style="width: 100.0%; height: 100.0%;">闵行区<br>绿地面积: 2800公顷</div>`)[0];
                popup_35ebb7ce8b9dc03255315a68cf1cee3e.setContent(html_11f996f1381dde9df496961d3b76a5e1);
            
        

        circle_marker_634f60f57b80cc6b159efeb6a0a4855c.bindPopup(popup_35ebb7ce8b9dc03255315a68cf1cee3e)
        ;

        
    
    
            var circle_marker_1ee1fa880d05b34f5bf88262e29ad727 = L.circleMarker(
                [31.4, 121.48],
                {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "green", "fillOpacity": 0.7, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 9.0, "stroke": true, "weight": 3}
            ).addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
        var popup_ccc39316cbc830dc74549378d6196574 = L.popup({
  "maxWidth": "100%",
});

        
            
                var html_bc579a120d87ee0270268d59afdb85ab = $(`<div id="html_bc579a120d87ee0270268d59afdb85ab" style="width: 100.0%; height: 100.0%;">宝山区<br>绿地面积: 1800公顷</div>`)[0];
                popup_ccc39316cbc830dc74549378d6196574.setContent(html_bc579a120d87ee0270268d59afdb85ab);
            
        

        circle_marker_1ee1fa880d05b34f5bf88262e29ad727.bindPopup(popup_ccc39316cbc830dc74549378d6196574)
        ;

        
    
    
            var circle_marker_5c490e93873334bb3b5f0a54916fab69 = L.circleMarker(
                [31.38, 121.26],
                {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "green", "fillOpacity": 0.7, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 8.0, "stroke": true, "weight": 3}
            ).addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
        var popup_55caa82416e18c86ca1e15f63400c1aa = L.popup({
  "maxWidth": "100%",
});

        
            
                var html_86735ca4c77fd77487a7587df533d496 = $(`<div id="html_86735ca4c77fd77487a7587df533d496" style="width: 100.0%; height: 100.0%;">嘉定区<br>绿地面积: 1600公顷</div>`)[0];
                popup_55caa82416e18c86ca1e15f63400c1aa.setContent(html_86735ca4c77fd77487a7587df533d496);
            
        

        circle_marker_5c490e93873334bb3b5f0a54916fab69.bindPopup(popup_55caa82416e18c86ca1e15f63400c1aa)
        ;

        
    
    
            var circle_marker_423448061efd356d3c76e515c297a0be = L.circleMarker(
                [30.75, 121.34],
                {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "green", "fillOpacity": 0.7, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 7.0, "stroke": true, "weight": 3}
            ).addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
        var popup_610ba8e2a1ac5456490f6a6ea667f346 = L.popup({
  "maxWidth": "100%",
});

        
            
                var html_bce771dfc0a8071fb8055bef1b7d6293 = $(`<div id="html_bce771dfc0a8071fb8055bef1b7d6293" style="width: 100.0%; height: 100.0%;">金山区<br>绿地面积: 1400公顷</div>`)[0];
                popup_610ba8e2a1ac5456490f6a6ea667f346.setContent(html_bce771dfc0a8071fb8055bef1b7d6293);
            
        

        circle_marker_423448061efd356d3c76e515c297a0be.bindPopup(popup_610ba8e2a1ac5456490f6a6ea667f346)
        ;

        
    
    
            var circle_marker_48238486af21b0826ed94c6717954ae2 = L.circleMarker(
                [31.0, 121.24],
                {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "green", "fillOpacity": 0.7, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 7.5, "stroke": true, "weight": 3}
            ).addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
        var popup_32035b49b0e6dda308564f36e84c603a = L.popup({
  "maxWidth": "100%",
});

        
            
                var html_eeacf36239cc0fcdd2549c4819135019 = $(`<div id="html_eeacf36239cc0fcdd2549c4819135019" style="width: 100.0%; height: 100.0%;">松江区<br>绿地面积: 1500公顷</div>`)[0];
                popup_32035b49b0e6dda308564f36e84c603a.setContent(html_eeacf36239cc0fcdd2549c4819135019);
            
        

        circle_marker_48238486af21b0826ed94c6717954ae2.bindPopup(popup_32035b49b0e6dda308564f36e84c603a)
        ;

        
    
    
            var circle_marker_c690ed247ebe72de6d22ea3829ff0b79 = L.circleMarker(
                [31.15, 121.12],
                {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "green", "fillOpacity": 0.7, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 6.5, "stroke": true, "weight": 3}
            ).addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
        var popup_a8219c61c245570d6141fbf88d5d0426 = L.popup({
  "maxWidth": "100%",
});

        
            
                var html_3f020235197f6e17ada78a12caa4d01d = $(`<div id="html_3f020235197f6e17ada78a12caa4d01d" style="width: 100.0%; height: 100.0%;">青浦区<br>绿地面积: 1300公顷</div>`)[0];
                popup_a8219c61c245570d6141fbf88d5d0426.setContent(html_3f020235197f6e17ada78a12caa4d01d);
            
        

        circle_marker_c690ed247ebe72de6d22ea3829ff0b79.bindPopup(popup_a8219c61c245570d6141fbf88d5d0426)
        ;

        
    
    
            var circle_marker_38761585032fd47d5538413d06534c28 = L.circleMarker(
                [30.92, 121.47],
                {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "green", "fillOpacity": 0.7, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 6.0, "stroke": true, "weight": 3}
            ).addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
        var popup_47b08661d494b1e61b60e5984380464c = L.popup({
  "maxWidth": "100%",
});

        
            
                var html_4f8ed35fecc8fc509338e905e001f135 = $(`<div id="html_4f8ed35fecc8fc509338e905e001f135" style="width: 100.0%; height: 100.0%;">奉贤区<br>绿地面积: 1200公顷</div>`)[0];
                popup_47b08661d494b1e61b60e5984380464c.setContent(html_4f8ed35fecc8fc509338e905e001f135);
            
        

        circle_marker_38761585032fd47d5538413d06534c28.bindPopup(popup_47b08661d494b1e61b60e5984380464c)
        ;

        
    
    
            var circle_marker_c27b51057023049af6d9441c5f2f3947 = L.circleMarker(
                [31.62, 121.4],
                {"bubblingMouseEvents": true, "color": "green", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "green", "fillOpacity": 0.7, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 15.0, "stroke": true, "weight": 3}
            ).addTo(map_75a76f8dc6758811654011f0c205d920);
        
    
        var popup_15ad25ebc4d2d1f9fcadb4ead4797d3c = L.popup({
  "maxWidth": "100%",
});

        
            
                var html_f3fc21f8b5f3a4fb4c1fe2482a88d44c = $(`<div id="html_f3fc21f8b5f3a4fb4c1fe2482a88d44c" style="width: 100.0%; height: 100.0%;">崇明区<br>绿地面积: 3000公顷</div>`)[0];
                popup_15ad25ebc4d2d1f9fcadb4ead4797d3c.setContent(html_f3fc21f8b5f3a4fb4c1fe2482a88d44c);
            
        

        circle_marker_c27b51057023049af6d9441c5f2f3947.bindPopup(popup_15ad25ebc4d2d1f9fcadb4ead4797d3c)
        ;

        
    
</script>
</html>